package ast;

public interface Visitor {

    public Object visit (Node n);

    /* Visit method for declarations and statements */
    public Object visit (StmtNode n);
    public Object visit (DeclNode n);
    public Object visit (List n);


    /* Visit method for expr nodes */
    public Object visit (ExprNode n);
    public Object visit (AddNode n);
    public Object visit (TimesNode n);
    public Object visit (IntNumNode n);
    public Object visit (AndNode n);
    public Object visit (DivideNode n);
    public Object visit (EqualNode n);
    public Object visit (FalseNode n);
    public Object visit (GreaterEqualNode n);
    public Object visit (GreaterNode n);
    public Object visit (InNode n);
    public Object visit (LengthNode n);
    public Object visit (LessEqualNode n);
    public Object visit (LessNode n);
    public Object visit (MethodNode n);
    public Object visit (MinusNode n);
    public Object visit (NotEqualNode n);
    public Object visit (NotInNode n);
    public Object visit (NotNode n);
    public Object visit (OrNode n);
    public Object visit (PowerNode n);
    public Object visit (RealNumNode n);
    public Object visit (StringNode n);
    public Object visit (TrueNode n);
    public Object visit (VarNode n);

}